//
//  SEGTarget_Message.h
//  SEGUhomeStandard
//
//  Created by 揭婧雯 on 2018/4/12.
//  Copyright © 2018年 刘山. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface SEGTarget_Message : NSObject
/**
 * 初始化消息列表
 * @author Wendy
 * @param params  跳转参数
 */
- (UIViewController*)segAction_initMessageRootViewController:(NSDictionary*)params;

/**
 * 跳转到私聊
 * @author Sam
 * @param params  私聊详情
 */
- (UIViewController*)segAction_initSessionMessageViewControllerParams:(NSDictionary*)params;

/**
 * 初始化公众号
 * @author Wendy
 * @param params  跳转参数 必传参数有messageModel
 */
- (UIViewController*)segAction_initServiceMessageViewController:(NSDictionary*)params;

/**
 初始化拼车聊天界面
 
 @param params 参数
 @return 聊天界面VC
 */
- (UIViewController *)segAction_initWayCarSessionMessageViewController:(NSDictionary *)params;

/**
 初始化老活动的聊天界面
 
 @param params 参数
 @return 聊天VC
 */
- (UIViewController *)segAction_initOldActivitySessionMessageViewController:(NSDictionary *)params;

/**
 获取messageVC Class
 
 @param params 参数
 @return class
 */
-(Class)segAction_getMessageViewControllerClass:(NSDictionary *)params;

- (void)segAction_initForDidRegisterForRemoteNotificationsWithDeviceToken:(NSDictionary *)params;

- (void)segAction_initForDidReceiveRemoteNotification:(NSDictionary *)params;

- (void)segAction_initJpushWithOptions:(NSDictionary *)params;
/**
 * 提交极光推送token
 * @author Wendy
 */
-(void)segAction_submitJpushToken:(NSDictionary*)params;

/**
 * 获取极光推送要设置的tag
 * @author Wendy
 */
-(void)segAction_requestGetPushTag:(NSDictionary*)params;



/**
 * 保存菜单父子关系
 */
- (void)segAction_saveMenuList:(NSDictionary*)params;

#pragma mark - 红点ID相关方法
// 获取现有的红点settingsId数组
- (NSMutableArray *)segAction_getCurrentSettingIdsArray:(NSDictionary*)params;

/**
 * 获取红点的Type和Rescode对应关系字典
 * @return Type和Rescode对应关系字典
 */
- (NSDictionary *)segAction_getRedDotTypeAndRescodeDict:(NSDictionary*)params;

/**
 * 保存红点的Type对应的菜单ID
 *  @param params 推送或透传消息的type
 */
- (void)segAction_saveRedDotWithType:(NSDictionary*)params;

/**
 *  删除Type对应的本地红点信息
 *  @param params 推送或透传消息的type
 */
- (void)segAction_deleteRedDotWithType:(NSDictionary*)params;

/**
 * 删除菜单ID对应的本地红点信息
 * @param params 菜单的settingsId
 */
- (void)segAction_deleteRedDotWithId:(NSDictionary*)params;

/**
 * 获取所有物业服务的消息类型数组
 * @return 物业服务的消息类型数组
 */
- (NSArray *)segAction_getServiceTypeArray:(NSDictionary*)params;

/**
 *  获取现有的物业服务消息serviceId数组
 */
- (NSMutableArray *)segAction_getMyServiceIdArray:(NSDictionary*)params;

/**
 *  保存物业服务消息的serviceId
 *  @param params 推送或透传消息的serviceId
 */
- (void)segAction_saveMyServiceId:(NSDictionary*)params;

/**
 *  删除物业服务消息的serviceId
 *  @param params 推送或透传消息的serviceId
 */
- (void)segAction_deleteMyServiceId:(NSDictionary*)params;

/**
 * 根据消息跳转到对应界面
 * @author Wendy
 */
-(void)segAction_pushToViewControllerWithRemoteNotification:(NSDictionary*)params;

/**
 根据消息类型跳转对应界面 (依据type, 统一处理消息中心跳转页面)

 @param params 消息体
 */
- (void)segAction_pushToViewControllerWithMessageType:(NSDictionary *)params;

/// 用户注册积分成长值
- (void)segAction_requestSignUpIntegralGrowth:(NSDictionary *)params;
@end
